package hdb.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hibernate.LazyInitializationException;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.web.servlet.ModelAndView;

import hdb.dao.LagerTypDeleteException;


/**
 * @author juergen.schoenwaelder@stud.fh-deggendorf.de, thomas.eberhart@stud.fh-deggendorf.de
 */
public class LoescheLagerTyp extends AlleLagerTyp {
	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		int id = Integer.parseInt(httpServletRequest.getParameter("id"));
		try {
			getLagertypDao().deleteById(id);
			return super.handleRequestInternal(httpServletRequest, httpServletResponse);
		} catch (LagerTypDeleteException e) {
			ModelAndView mv = new ModelAndView();
			mv.addObject("title", "Ein Fehler ist aufgetreten");
			mv.addObject("message", e.getMessage());
			mv.setViewName("error");
			return mv;
		} catch (DataIntegrityViolationException e) {
			ModelAndView mv = new ModelAndView();
			mv.addObject("title", "Es ist ein Fehler aufgetreten!!!");
			mv.addObject("message", "Der Lagertyp konnte nicht gelöscht werden, da sich noch Vorrat in diesem Lager befindet!");
			mv.setViewName("error");
			return mv;
		}
		
		
	}
}
